《Day 05:系列的單一事實來源,打造全域錨點檔案》 結尾留下一個具體的問題。散落在各種零散筆記裡的原始素材,要如何被有效率地整理成可以查詢與引用的資料來源。今天要正式回答這個問題。
想像另一個畫面。寫作代理人正在撰寫某一天的內容,需要交代一個技術細節的具體行為,或者示範一段程式碼的正確用法。這種內容從來沒有被系列正式定義成專有名詞,也不曾是哪個架構決策的一部分,翻遍全域錨點檔案也找不到答案。
此時能依靠的,只剩下作者過去累積下來、格式不一、東一則西一則的零散筆記。
這正是 Day 05 結尾懸念指向的具體場景。今天的任務範圍要先畫清楚,只處理原始筆記或素材要如何被收集、初步整理成一份可供 Agent 使用的知識庫雛形,不涉及這份雛形要如何被切分成方便查詢的最小單位,那是明天才要處理的範疇。
這個收納原始素材的共享來源,今天要正式為它命名,叫做知識庫。它是一個收納尚待查證引用的原始素材的共享來源,供規劃代理人與寫作代理人平時工作查證時使用。
讀到這裡,一個直覺可能會冒出來,系列既然已經有一份全域錨點檔案作為共享來源,原始素材是不是直接塞進同一份檔案裡就好,何必再另外弄一份。
這個直覺值得認真回應,因為兩者的內容性質其實完全不同。
《Day 05:系列的單一事實來源,打造全域錨點檔案》定案的全域錨點檔案,記錄的是已經拍板定案的結論,一個名詞的定義、一個架構決策的內容。這些內容一旦定案就不太會再變動,且數量相對有限,每一筆都值得被完整記錄與反覆引用。
知識庫收納的則是尚待查證引用的原始素材,一段技術細節的具體行為說明、一段程式碼的正確用法示範、一段背景知識的補充。這些內容還沒有經過拍板定案的程序,數量龐大且持續累積,性質上更接近工作時隨時查閱的資料庫,而不是權威結論的清單。
把這個問題扣回 Day 01:為什麼傳統的「一鍵生成」寫不出好的長篇技術文章? 定案的事實,幻覺病灶會更清楚。如果沒有一個可查證的知識庫來源,寫作代理人在需要交代技術細節時,容易在缺乏依據的狀況下,憑著訓練時累積的模糊印象生成看似合理但實際上站不住腳的內容。
知識庫存在的目的,正是提供一個可以被查證、可以被引用的原始依據,讓寫作代理人不必單靠自己的印象作答。
收束回來看,全域錨點檔案回答的是「已經定案的內容如何被跨天一致地沿用」,知識庫回答的是「還沒被定案、需要臨時查證的原始內容要去哪裡找」。兩者服務的是完全不同階段的需求,不能用管理其中一種的方式去管理另一種。
知識庫既然要靠原始筆記或素材建立起來,先看清楚這些素材原本長什麼樣子,會很有幫助。原始筆記或素材格式通常不一,有些是完整記錄下來的心得,有些只是隨手留下的關鍵字片段。內容新舊夾雜,有些觀點可能已經被後來的理解推翻或修正過,卻還留在筆記裡沒有更新。有些筆記裡混雜著還沒驗證過的猜測,或者半成品的程式碼片段,跟已經確認可行的內容混在一起,沒有區分。
這種樣貌為什麼不能直接被 Agent 拿來查證使用,理由不難理解。
一份夾雜著過時觀點、未驗證猜測與零碎片段的原始筆記,如果被直接當成查證依據,Agent 很可能引用到已經過時或根本不正確的內容,這與完全沒有依據隨口生成的風險同樣真實,只是換了一種方式讓事實幻覺病灶重新發生。一份「看起來有出處」但出處本身不可靠的內容,反而比誠實承認不知道更危險,因為它會讓查證這個動作產生一種虛假的安心感。
到這裡,核心結論很清楚,原始素材要先經過一道「初步整理」的工序,才能成為值得信賴的知識庫來源。這道工序不是把筆記原封不動搬過去,而是要先做一次篩選與確認。
初步整理至少包含三項工作。
篩選出真正有查證價值的內容。並非所有筆記都值得留下,隨手記錄但從未真正用上的片段、跟主題完全無關的雜項,可以先排除在外。知識庫的價值不在於收錄的份量,而在於收錄內容的可信度與可用性。
去除過時或錯誤的資訊。筆記裡難免留有後來被推翻的舊觀點,或者當初理解有誤而未被更正的內容。這些內容如果沒有被清理掉,會讓知識庫變成一個真假混雜的陷阱,比完全沒有知識庫更危險,因為它會讓查證動作誤以為自己已經查證過,而實際上依據本身就是錯的。
統一基本的組織方式。原始筆記可能散落在不同的地方,用不同的方式命名或分類。初步整理至少要讓這些素材有一個共同的落腳處與大致一致的呈現方式,讓後續無論是人或 Agent 要查找時,不必先猜測某個主題的筆記到底可能藏在哪裡。
這個階段的界線也要說清楚。初步整理做完之後,得到的是一個內容可信、組織大致統一的知識庫雛形,但這份雛形裡的每一則素材可能篇幅仍然不小,內容依然可能相當龐雜,還沒有被切成方便查詢引用的小單位,這件事留待明天處理。
今天正式定案了知識庫的定位,它是收納尚待查證引用的原始素材的共享來源,與記錄已定案結論的全域錨點檔案性質不同。透過篩選有查證價值的內容、去除過時或錯誤的資訊、統一基本的組織方式這道初步整理工序,原始筆記才從零散、格式不一、新舊夾雜的樣貌,轉化為一份值得信賴的知識庫雛形。
但這只解決了「原始素材如何被收集與初步整理成可信任來源」這個問題。這份雛形本身份量可能很大、內容依然龐雜,Agent 真正查證時不可能每次都讀取整份龐大的原始資料。要怎麼把整理好的素材進一步切成方便查詢的小單位,同時不能切壞程式碼與上下文的完整性,這個問題今天還沒有答案,將在 《Day 07:知識庫的切分藝術,保留程式碼與上下文的完整性》 正式揭曉。